home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 49
/
Amiga Format CD49 (2000-01-17)(Future Publishing)(GB)(Track 1 of 3)[!][issue 2000-02].iso
/
-serious-
/
graphics
/
amicad
/
arexx
/
importtexte.amicad
< prev
next >
Wrap
Text File
|
1999-12-06
|
2KB
|
85 lines
/* Importation d'un texte dans une zone rectangulaire
26 avril 1998: version 1.00
3 Février 1999: version 1.01 (correction bug guillemets + gestion ligne)
21 février 1999: version 1.02 (modif appel REQFILE)
$VER: ImportTexte 1.02 (© R.Florac, 21 février 1999)
Bug: ne gère pas les échelles et le mode placement courants */
options results
signal on error
signal on syntax
'FIRSTSEL'; obj=result
if obj>0 then do
'TYPE('obj')'
if result=22 then do
'NEXTSEL('obj')'
if result=0 then do
'COORDS('obj')';
PARSE VAR result x0 ',' y0 ',' x1 ',' y1
xg=minima(x0,x1); xd=maxima(x0,x1)
yh=minima(y0,y1); yb=maxima(y0,y1)
'REQFILE("Nom du fichier texte?", "Travail:texte/ASCII", "")'; fichier=result
y0=yh
if fichier ~= "" then do
if open(file, fichier, 'R') then do
y0=y0+10
'SAVEALL(-1)'
do while y0 < yb
ligne=readln(file)
if ligne ~= "" then do
ligne=translate(ligne," ",'09'x)
'WRITE("'doublage_guillemets(ligne)'",'xg','y0')'; e=result
if e=0 then do
'REQUEST("Placement du texte"+CHR(10)+"'ligne'"+CHR(10)+"impossible."+CHR(10)+"Voulez-vous continuer?")'
if result=0 then leave
end
y0=y0+10
end
if eof(file) then leave
end
close(file)
end
end
exit
end
end
end
'MESSAGE("Créez et sélectionnez"+CHR(10)+"d''abord le rectangle"+CHR(10)+"dans lequel doit"+CHR(10)+"être placé le texte")'
exit
minima: procedure
parse arg v1,v2
if v1<v2 then return v1
return v2
end
maxima: procedure
parse arg v1,v2
if v1>v2 then return v1
return v2
end
doublage_guillemets: procedure
parse arg chaine
t=''
do i=1 to length(chaine)
c = substr(chaine,i,1)
if c='"' then c=c||'"'
t=t||c
end
return t
/* Traitement des erreurs, interruption du programme */
syntax:
erreur=RC
'MESSAGE("Erreur de syntaxe"+CHR(10)+"en ligne 'SIGL'"+CHR(10)+"'errortext(erreur)'")'
exit
error:
'MESSAGE("Erreur en ligne 'SIGL'")'
exit